/******************************************************************************* * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring; import junit.framework.Test; import org.osgi.framework.Bundle; import org.eclipse.jdt.testplugin.JavaProjectHelper; import org.eclipse.core.runtime.Path; import org.eclipse.core.resources.IFolder; import org.eclipse.jdt.core.IClasspathEntry; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.core.JavaCore; import org.eclipse.jdt.ui.tests.refactoring.infra.AbstractRefactoringTestSetup; import org.eclipse.jdt.ui.tests.refactoring.infra.RefactoringTestPlugin; /** * Sets up two projects for testing binary references. Contents taken from /resources/BinaryReferencesWorkspace. */ public class BinaryReferencesTestSetup extends AbstractRefactoringTestSetup { public BinaryReferencesTestSetup(Test test) { super(test); } private IJavaProject fSource; private IJavaProject fBinaryReference; public IJavaProject getSourceProject() { return fSource; } public IJavaProject getBinaryReferenceProject() { return fBinaryReference; } protected void setUp() throws Exception { super.setUp(); Bundle bundle= RefactoringTestPlugin.getDefault().getBundle(); fSource= JavaProjectHelper.createJavaProject("Source", "bin"); JavaProjectHelper.addRTJar(fSource); IPackageFragmentRoot sourceContainer= JavaProjectHelper.addSourceContainer(fSource, "src"); JavaProjectHelper.importResources((IFolder) sourceContainer.getResource(), bundle, "resources/BinaryReferencesWorkspace/Source/src"); fBinaryReference= JavaProjectHelper.createJavaProject("BinaryReference", null); JavaProjectHelper.addRTJar(fBinaryReference); IClasspathEntry cpeSource= JavaCore.newProjectEntry(fSource.getProject().getFullPath()); JavaProjectHelper.addToClasspath(fBinaryReference, cpeSource); IFolder binary= fBinaryReference.getProject().getFolder("binary"); binary.create(false, true, null); JavaProjectHelper.importResources(binary, bundle, "resources/BinaryReferencesWorkspace/Reference/bin"); // attach source to get search results ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=127442 ): IFolder srcAtt= fBinaryReference.getProject().getFolder("srcAtt"); srcAtt.create(false, true, null); JavaProjectHelper.importResources(srcAtt, bundle, "resources/BinaryReferencesWorkspace/Reference/src"); IClasspathEntry cpeBinary= JavaCore.newLibraryEntry(binary.getFullPath(), srcAtt.getFullPath(), Path.ROOT, false); JavaProjectHelper.addToClasspath(fBinaryReference, cpeBinary); } protected void tearDown() throws Exception { JavaProjectHelper.delete(fSource); JavaProjectHelper.delete(fBinaryReference); super.tearDown(); } }